home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / util / arcer / mdcv1.lha / MDC.History < prev    next >
Text File  |  1995-09-03  |  13KB  |  339 lines

  1. ---------------------------------------------------------------------------
  2.   Marc's Disk Cruncher History
  3. ---------------------------------------------------------------------------
  4.  
  5.   The  file  you  see at the moment is the short history of MDC developing.
  6. Maybe it is going to be interesting for somebody.
  7.   First number in brakets means the length of the source and the second the
  8. length  of the executable.  Everywhere where the executable size is greater
  9. than 9000 bytes, were used ansi functions for display.
  10.  
  11. - V1.0 (9444, 9712 bytes)
  12.  
  13.   · Reading  and  crunching  to  a  file was supported.
  14.   · No decrunching and writing  to trackdisk.device.
  15.   · Only few arguments were supported.
  16.   · Template  was:  From/A, To/A, Q=Quiet/S, Low/K/N, High/K/N, M=Mode/K/N,
  17. P=Packer/K.
  18.   · Quiet/S  flag wasn't supported.
  19.   · Existing   functions:    evaluatearguments  (),  for  evaluating  given
  20. arguments,  cleanup  ()  for  removing some structures, closing devices and
  21. libraries,...,  diskmotor  ()  for  turning  the  drive  motor  on and off,
  22. ispacker  (),  for  checking  if  the  given  argument can be packer or not
  23. (length  has to be 4), isdevice (), for checking if the given device is one
  24. of  DF0:,  DF1:,  DF2:,  DF3:,  getdevicenumber  (), for getting the device
  25. number.
  26.   · It detected succesful openings of a file for writing or reading.
  27.   · It could read the fileheader and check if it is O.K..
  28.   · File  header is 4 longwords  long.  First 3 bytes content MDC, 4th byte
  29. stores  low  track  number,  5th  high  track  number.  Other 11 bytes were
  30. reserved  for  future  use. 
  31.   · It  detected  if  required  packer  library  was  missing, other errors
  32. weren't  displayed,  but  only detected.
  33.   · It  diplayed  packed track, current input size and current output size.
  34. Both,  current  input  and  current  output  sizes  were wrong (4 bytes per
  35. track).
  36.   · It  checked  if  the given value for low or high cylinder was between 0
  37. and  79.
  38.   · Low  cylinder  had  to  be lower than or equal to High cylinder.
  39.   · If no packer was given, FAST was used as default.
  40.   · If no mode was given, 50 was used.
  41.   · It checked if From and To arguments are both devices.
  42.   · Device   DFX:    was   locked  before  crunching  it.
  43.   · It checked if xpkmaster.library was successfully opened.
  44.  
  45. - V1.1 (9668, 5704 bytes)
  46.  
  47.   · Locking device to crunch was removed, because it couldn't crunch no-DOS
  48. disks.
  49.   · Checking  if  the given device unit is available was added, but it made
  50. checkings only for my configuration (I had only DF0:  and DF1:).
  51.  
  52. - V1.2 (9695, 5580 bytes)
  53.  
  54.   · Some preparations for decrunching were made.
  55.   · Some optimiziations in size were made.
  56.   · It still crunched only.
  57.  
  58. - V1.3 (9179, 9188 bytes)
  59.  
  60.   · Function evaluatearguments () was implemented in main ().
  61.   · Some minor bugs were removed.
  62.   · Sometimes the arguments are O.K.  sometimes not.
  63.  
  64. - V1.4 (9212, 5536 bytes)
  65.  
  66.   · Low and High arguments become \N only.
  67.   · Losing  arguments fixed.
  68.   · Display of compression ratio added.
  69.   · Displays  were  made  according  to  the  Quiet/S flag.
  70.   · Bug  at  displaying  the  current  input  length and the current output
  71. length was removed.
  72.   · Highest cylinder was set to 81 (previous value was 80).
  73.  
  74. - V1.5 (10797, 5880 bytes)
  75.  
  76.   · Struct  DriveGeometry  was  add, to get the drive geometry for eventual
  77. other devices support.
  78.   · Default mode was set to 79.
  79.  
  80. - V1.6 (10046, 11416 bytes)
  81.  
  82.   · Decrunching  added,  but  it  doesn't  work.
  83.   · Checking whether the disk is inserted or not was added.
  84.   · Function  cleanup  was changed.  Now it displays input string and makes
  85. other things the same as the previous one.
  86.   · Some parts of DriveGeometry were removed.
  87.  
  88. - V1.7 (10131, 6012 bytes)
  89.  
  90.   · Function  getdevicenumber  was removed.
  91.   · Checking if the track could be written or not was added.
  92.  
  93. - V1.8 (10210, 6472 bytes)
  94.  
  95.   · Input  and output buffers for crunching and decrunching were calculated
  96. by the formula given in xpk developer.
  97.   · XPK_GetError  tag  added.
  98.   · The program still doesn't decrunch.
  99.   · Sector header  not  found  check  was  added.
  100.   · Intuition  library  was  opened,  but  I  don't  know why.  None of its
  101. commands  were  used.
  102.   · Evaluating  arguments  were put into a function called evaluateargumets
  103. again.
  104.  
  105. - V1.9 (17231, 6392 bytes)
  106.  
  107.   · Decrunching  was  made  (finally,  thank  goes to Magnus).  Crunching and
  108. decrunching  were  made  with  XpkPackTags  and  XpkUnpackTags and not with
  109. XpkPack and XpkUnpack as before.
  110.   · It displays time used for compression/decompression now.
  111.   · DriveGeometry was removed properly.
  112.  
  113. - V1.10 (10780, 6780 bytes)
  114.  
  115.   · Available  units  (DF0:, DF1:, DF2:, DF3:) were determined with help of
  116. disk.resource.   Before  that program caused machine crashes if an unit was
  117. used which doesn't exist.
  118.  
  119. - V1.11 (10783, 6788 bytes)
  120.  
  121.   · It  unpacked  only  to  formatted  disks  before.   Now  it  unpacks to
  122. formatted and to not formatted disks.
  123.  
  124. - V1.12 (12665, 7344 bytes)
  125.  
  126.   · New  arguments  were  added:   Repack/S,  Split/S,  Join/S,  Test/S and
  127. Info/S.
  128.   · To  argument  become  /K  (it was /A before).
  129.   · Testing  (fast) was implemented (repack, split, join and info weren't),
  130. but  it's  not that much good as it could (should) be.
  131.   · Only one from To/K, Test/S, Repack/S, Split/S, Join/S and Info/S can be
  132. used at the same time.
  133.  
  134. - V1.13 (12824, 7304 bytes)
  135.  
  136.   · An  optimization  in  size.
  137.   · String "File is corrupt" was stored in a variable and the displayed.
  138.   · Another string called tisr was created too.  That spared 40 bytes.
  139.  
  140. - V1.14 (12728, 7288 bytes)
  141.  
  142.   · String chtanb was created and displayed. It spared only 16 bytes in size.
  143.  
  144. - V1.15 (12837, 7332 bytes)
  145.  
  146.   · Disk is write protected check was added.
  147.  
  148. - V1.16 (12864, 6524 bytes)
  149.  
  150.   · Compiled  with other options.  Spared many bytes in size.
  151.   · One sequention of if clauses was changed with switch clause. 
  152.  
  153. - V1.17 (12864, 6080 bytes) (1st release on AmiNet)
  154.  
  155.   · Compiler options were changed again and program recompiled.  This was the
  156. first version oploaded to AmiNet.
  157.  
  158. - V1.18 (17089, 6472 bytes)
  159.  
  160.   · Other  devices  support  was  added.
  161.   · Could  not  find  enough sectors check added.
  162.   · isdevice  () function was added.  It searches in device nodes for given
  163. device.
  164.   · Device/Unit  failed to open check added.
  165.   · Checking  available  units  with  disk.resource was removed.
  166.   · Varibales  defaultlow  and defaulthigh were removed.
  167.   · Step/K/N argument added but not implemented.
  168.  
  169. - V1.19 (17231, 6640 bytes)
  170.  
  171.   · Possibility of giving the scsi.device units as From/A or To/K arguments
  172. was  removed.
  173.   · Crunching/Decrunching/Test (further CDT) report display was improved.
  174.  
  175. - V1.20 (15381, 6684 bytes)
  176.  
  177.   · Testing  didn't worked in V1.18 and V1.19.  Test was implemented again.
  178. It's still the simple one.
  179.   · Trackheader  changed.   Now  first  4 bytes are "MDC?", 3rd word is the
  180. number  of  low cylinder, 4th word is the number of high cylinder, 3th long
  181. word  contains  the  tracksize (needful for testing data), and the 4th long
  182. word  is  still  reserved  for future releases.  It contains "SSMP".  Track
  183. header is still the same.
  184.   · Some  calculations  were  made simplier and faster, I hope.  CDT report
  185. display  was improved again.
  186.   · FreeMem  () for one memory array was added.  I forgot to do it before.
  187.   · Now it displays how much memory it wanted to allocate and couldn't.
  188.  
  189. - V1.21 (15205, 6516 bytes)
  190.  
  191.   · 3  functions  (fic  (),  errorand  ()  and openingand () were added for
  192. getting shorter program.
  193.  
  194. - V1.22 (15116, 6520 bytes)
  195.  
  196.   · Function  comparedevices  was  made, for gaining in size.  One variable
  197. was removed, because it was useless.
  198.  
  199. - V1.23 (14948, 6488 bytes)
  200.  
  201.   · One  else  clause  was  removed.  Now it displays all errors which were
  202. made  while passing the arguments, not only the first one found (I hate the
  203. TurboPascal (TM) style of displaying errors (Only one at a time)).
  204.  
  205. - V1.24 (15254, 6808 bytes)
  206.  
  207.   · Function  cleanup  ()  were  added 2 arguments.
  208.   · Functions  added  in V1.21 were removed.
  209.   · Some  error  displays were done better.  Displays look much more better
  210. now.
  211.   · Calculations which were made with 2^x numbers were made with shifts.
  212.  
  213. - V1.25 (15625, 6992 bytes)
  214.  
  215.   · One  more shift was used instead of multiplying.
  216.   · Checking of unpacking to dms.device was added, because it's inpossible.
  217.   · It's possible to pack dms.device and unpack it to an other device (DF0:
  218. for example).
  219.   · End  report  display  was  improved  too.
  220.   · Some iterations were made shorter.
  221.   · An error report was changed.
  222.  
  223. - V1.26 (16641, 7228 bytes)
  224.  
  225.   · Only  device  name  with  :  were accepted as To/K or From/A arguments.
  226.   · Step/K/N  argument  was implemented.  Now it's possible to pack more tracks
  227. together instead of 1 by 1 as before.
  228.  
  229. - V1.27 (17981, 7544 bytes)
  230.  
  231.   · When decrunching to a device, the device wasn't checked as fresh inserted
  232. and  you  had  to  remove  and insert the disk to tell the system that disk
  233. contents aren't the same as before. Now it works as it should.
  234.  
  235. - V1.28 (19290, 7824 bytes)
  236.  
  237.   · By  unpacking  Low/N  and High/N arguments were ignored.  Now they have
  238. affect  when  unpacking  too.
  239.   · Displaying  of  current  work  was  moved to an other position.  Now it
  240. displays  the  track it is working on and not on which it was working.
  241.   · One if clause was optimized.
  242.  
  243. - V1.29 (20409, 8104 bytes)
  244.  
  245.   · Priority/K/N argument was added to set program's priority.  That improves
  246. the  speed  of  crunching/decrunching  again.
  247.   · First .MDC check (not fully controlled) was added.
  248.  
  249. - V1.30 (20395, 8192 bytes)
  250.  
  251.   · Checking of extension was improved.  It won't crunch/decrunch any other
  252. files  than the one which ends with .MDC.
  253.   · Some optimizations in size were done.
  254.   · Some minor bugs were removed.
  255.  
  256. - V1.31 (20232, 8084 bytes)
  257.  
  258.   · Some  comparisions  (lowercased chars, uppercased chars) were optimized
  259. and done with and function (& 223).
  260.  
  261. - V1.32 (25587, 8840 bytes)
  262.  
  263.   · Info  argument  was  implemented.  It didn't do anything before, except
  264. guru.
  265.  
  266. - V1.33 (24021, 8892 bytes)
  267.  
  268.   · All files were tested/infoed/decrunched (further TID) no matter if they
  269. were icons, directories or any other not #?.MDC files.
  270.   · Files, which were opened to work on them, weren't closed.
  271.   · Version  text which is displayed when typing Version MDC, was improved.
  272. It didn't get only better but it spared some bytes.
  273.  
  274. - V1.34 (25861, 8888 bytes)
  275.  
  276.   · In  case  of  an  error  the program quited and now it only reports the
  277. error and continues with the next file to TID.
  278.  
  279. - V1.35 (25662, 8776 bytes)
  280.  
  281.   · Displaying  errors  was changed.  Now it looks a little better.
  282.   · Some optimizations in size and speed were made.
  283.  
  284. - V1.36 (25364, 8576 bytes)
  285.  
  286.   · Some little optimizations in size and speed were made.
  287.  
  288. - V1.37 (25220, 8536 bytes)
  289.  
  290.   · Some optimizations in size and speed were made.
  291.   · Some minor bugs were removed.  They hadn't affected the correct flow of
  292. the program.
  293.   · Displaying the seconds at the estimated time was replaced with a better
  294. one (36 bytes were gained)
  295.   · Q=Quiet/S  argument  hasn't  worked  properly.   Now  it  ignores Q=Quiet/S
  296. argument if Test/S or Info/S arguments are set.
  297.  
  298. - V1.38 (25370, 8604 bytes)
  299.  
  300.   · Now the program resets the priority.  It stayed the same as it was set.
  301.   · Some  arguments  were  changed.  Low/K/N became L=Low/K/N now, High/K/N
  302. became H=High/K/N now and Priority/K/N became Pri=Priority/K/N now.
  303.   · Previous  versions  ate  a  lot  of memory, because it allocated it for
  304. every  file that matched the pattern.  That is fixed.  Now it eats only 176
  305. bytes  of  memory  as  it  did  before.  I don't think that's a big problem
  306. anyway.
  307.   · The  program  has  not  erased the line in which it displayed the error
  308. message. That was fixed now.
  309.  
  310. - V1.39 (26940, 9184 bytes)
  311.  
  312.   · WaitForKey/S  argument  was  added, which causes that the program waits
  313. for  the user to insert/change disk before continuing.  It affects only the
  314. first  archive,  because  the program asks the user for changing disk after
  315. decrunching the first archive.
  316.   · Name of selected archive is displayed now.
  317.  
  318. - V1.40 (26966, 9180 bytes)
  319.  
  320.   · Only  one  bug  was  removed, but I had to increase the version number,
  321. because  I  put  V1.39  on my account for my friends and I had to tell them
  322. that  there  was  something  changed somehow.  So, I removed the bug, which
  323. left the disk drive busy after crunching/decrunching.
  324.  
  325. - V1.41 (28956, 10252 bytes)
  326.  
  327.   · Force/S  argument  was added.  It causes that MDC overwrites the files,
  328. given for destination.
  329.   · Some improvements were made with WaitForKey/S argument.
  330.  
  331. - V1.42 (29135, 10352 bytes) (2nd and 3rd release on AmiNet)
  332.  
  333.   · I  removed  the  bug,  which  hasn't  used the L=Low/K/N and H=High/K/N
  334. arguments when decrunching.
  335.  
  336. - V1.43 (28924, 10252 bytes) (4th release on AmiNet)
  337.  
  338.   · Displaying version of the file with Version command was messed.
  339.   · I modified the alternatives of Step argument.